var myimages = new Array();

GridApp = {
		
		AddNew : function(form_id, check_sum, close_id)
		{
			new Ajax.Request(Settings.Host + Settings.CallBack + '&method=frontend_add_ajax_save&check_sum=' + check_sum, {
				
				parameters : $(form_id).serialize(true),
				
				onSuccess : function(transport) {
				
					json = transport.responseText.evalJSON(true);
						
					if(json['status'] == true)
					{
						$(GridApp.Container).update(json['message']);
						
						if(close_id !== undefined)
						{
							$(close_id).hide();
						}
						
					} else {
						$(GridApp.Container).update(json['message']);
					}
					
					Effect.ScrollTo('devmod_add_status');
				}
				
			});
		},
		
		Container : 'grid_container'
		
	};

baseApp = {
		
	_keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=@.",	
		
	decode : function (input) {
		var output = "";
		var chr1, chr2, chr3;
		var enc1, enc2, enc3, enc4;
		var i = 0;
 
		input = input.replace(/[^A-Za-z0-9\.\@\+\/\=]/g, "");
 
		while (i < input.length) {
 
			enc1 = this._keyStr.indexOf(input.charAt(i++));
			enc2 = this._keyStr.indexOf(input.charAt(i++));
			enc3 = this._keyStr.indexOf(input.charAt(i++));
			enc4 = this._keyStr.indexOf(input.charAt(i++));
 
			chr1 = (enc1 << 2) | (enc2 >> 4);
			chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
			chr3 = ((enc3 & 3) << 6) | enc4;
 
			output = output + String.fromCharCode(chr1);
 
			if (enc3 != 64) {
				output = output + String.fromCharCode(chr2);
			}
			if (enc4 != 64) {
				output = output + String.fromCharCode(chr3);
			}
 
		}
 
		output = baseApp._utf8_decode(output);
 
		return output;
 
	},
	
	_utf8_decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;
 
		while ( i < utftext.length ) {
 
			c = utftext.charCodeAt(i);
 
			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}
 
		}
 
		return string;
	},
	
	mailer : function(encoded) 
	{
		location.href = this.decode(encoded);
	},
	
	preload : function()
	{
		for (x=0; x<preloading.arguments.length; x++){
			myimages[x] = new Image();
			myimages[x].src = preloading.arguments[x];
		}		
	}
}